<?php
/**
 * bController
 *
 * Classe abstraite pour les contrôleurs
 *
 * @package bottleneck
 * @subpackage core
 * @author Thomas Lenoel
 * @copyright 2010 Thomas Lenoel
 * @version 0.1
 * @license http://www.gnu.org/licenses/gpl.html GNU General Public License version 3
 */
class bController {

    /**
     * Tableau des paramètres http GET
     *
     * @var array
     */
    private $_gparams;


    /**
     * Tableau des paramètres http POST
     *
     * @var array
     */
    private $_pparams;

    /**
     * Initialise les tableaux de paramètres
     */
    public function __construct() {

        foreach ($_GET as $k=>$v) $this->_gparams[$k] = addslashes(htmlspecialchars($v));
        foreach ($_POST as $k=>$v) $this->_pparams[$k] = addslashes(htmlspecialchars($v));


    }

    /**
     * Retourne un paramètre http get ou post
     *
     * @param string $key
     * @return mixed | boolean
     */
    public function param($key) {
        return (isset($this->_pparams[$key]) && !empty($this->_pparams[$key])) ? $this->_pparams[$key] :
                ( (isset($this->_gparams[$key]) && !empty ($this->_gparams[$key])) ? $this->_gparams[$key] :
                ( false ));
    }

    /**
     * Retourne la totalité des paramètres GET et POST
     *
     * @return array
     */
    public function params() {
        return array('post'=>$this->_pparams, 'get'=>$this->_gparams);
    }

    public function getView($type='raw') {
        
        $v = bView::getInstance($type);

        return $v;
    }

}
?>
